The present invention relates to a communication protocol for interactions between a server and a terminal or printer emulator device. Specifically, the present invention can be used to enable terminal and printer emulator devices, such as those emulating a TN5250 terminal, to be named with a permanent device name. Furthermore, the method of the present invention can also be used to enable a printer emulator to be named with a printer device name within a client/host system.
Terminal and printer emulator devices are an integral element of the AS400 client/host computer system. Hereinafter, the term "client/host" refers to a computer system in which one computer, the "host", controls the other devices within the system, which are the "clients". In such a system, terminal or printer emulator devices are the clients. Such devices may be PC (personal computer) computers or they may be dumb terminal devices. Hereinafter, the term "PC" refers to any computer which can provide an environment in which the TN5250 terminal emulation can be executed, including UNIX workstations, VT terminals operating VMS, those computers which operate the DOS operating system, or one of the Windows operating systems by Microsoft (Seattle, Washington, USA), including Windows NT, Windows 3.x (in which "x" is a version number, such as "Windows 3.1") and Windows95. Hereinafter, the name "dumb terminal device" refers to a device which has a video monitor and a keyboard, and which may include a mouse or other input device, but which substantially lacks computational hardware which would enable the dumb terminal device to perform significant independent computations, such that the terminal device is only capable of acting as a dumb terminal. Indeed, as its name suggests, the dumb terminal device is dependent upon the server for the performance of a substantial portion of computations required for the operation of the dumb terminal device.
In any case, regardless of whether the terminal emulator is capable of independent calculations, such as a PC, or is simply a dumb terminal device which is dependent upon instructions from the host, the term "terminal emulator" implies that the device is emulating a certain type of monitor display according to a well known emulation protocol such as TN5250. In fact, the phrase "TN5250 terminal emulator" is simply a generic name for AS400 system terminals. The term "printer emulator" implies that the device is emulating a certain type of printer, again according to a well known emulation protocol. Such a protocol enables the host computer to interact with the client device according to established rules. For the sake of convenience, the description below mainly centers upon terminal emulator devices, it being understood that similar concepts apply to printer emulator devices with a few modifications. These modifications will also be described below.
An example of a client/host system which employs these terminal and printer emulator devices is the AS400 system of IBM (International Business Machines) Corporation. The AS400 system has a main, host computer which is the AS400 computer itself. The system also includes a plurality of clients, which are terminal emulator devices, and an intermediary server computer, which is the SNA server. The SNA server is actually a computer running a proprietary version of the general SNA software. One example of such a server is a computer being operated by the Windows NT operating system, and running the SNA software of Microsoft.
Although there are a number of different versions of the proprietary SNA software, all examples of such software have the general functionality for performing the SNA functions within the AS400 general environment. Basically, the AS400 computer sends instructions to the client terminal emulator devices through the SNA server. The terminal emulator devices can also send data to the AS400 computer, again through the SNA server, so that the flow of data is bi-directional. All of these terminal emulators have some type of communications protocol through which they interact with the SNA server. However, not all of these emulation protocols offer all of the desired functionality.
For example, within a system using terminal emulator devices, there are typically three types of devices. The first type of device is printer devices, which print material upon the receipt of printer commands. Printer devices must have a printer device name in order to receive commands from the server computer. Thus, printer devices have permanent printer device names to designate them within the client/host system.
The second type of device is the terminal emulator device as described previously. As for terminal devices, there are also terminal emulator devices connected with a specific permanent device name, although such a permanent name is optional. These hardware devices can be contacted within the system according to this device name. For example, such a permanent device name is useful if a user on one terminal emulator wishes to send a message to other terminal emulator devices within the client/host system. The device name is also useful for security reasons, since activity emanating from a terminal emulator device with a particular name will always be associated with one particular hardware device.
However, since the permanent device name is optional for terminal emulator devices, not all terminal emulation protocols support such permanent terminal emulator device names. Indeed, one of the most popular terminal emulation protocols, TN5250, only supports temporary, dynamically assigned device names for terminal emulator devices, which are reassigned each time the terminal emulator device establishes a connection with the host computer. The name is therefore highly variable. Indeed, every time the terminal emulator device becomes connected to the host computer, the device name could potentially be changed. Thus, the added advantages of permanent device names are not available within many AS400 client/host systems.
Therefore, there is an unmet need, and it would be highly useful to have, method for enabling emulation protocols, such as the terminal emulation protocol TN5250, to specify device names for terminal and printer emulator devices within a client/host system such as the AS400.